﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
//using MySql.Data.MySqlClient;
using System.Data.SqlClient;

namespace WindowsFormsApplication5
{
    public partial class Form1 : Form
    {
        //private MySqlConnection connection;
        //private string server;
        //private string database;
        //private string uid;
        //private string password;
        public int result1 = 1;
        public Form1()
        {
            InitializeComponent();
            //InitializeDatabase();
            //ConnectToDatabase();
            InitializeDataGridView();

        }

        private void InitializeDataGridView()
        {
            //dataGridView1.RowHeadersVisible = false; // 隐藏行头
            dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect; // 允许选择整行
            dataGridView1.Columns.Add(new DataGridViewCheckBoxColumn()); // 添加复选框列
        }

        private void btnInquiry_Click(object sender, EventArgs e)
        {
            // 连接数据库
            string conStr = "server=PC-20190827TENX;user id=sa;password=Qv958823;database=UFDATA";
            using (SqlConnection con = new SqlConnection(conStr))
            {
                // 打开数据库
                con.Open();
                // 查询sql语句，用于填充dataGridView1
                string sql_1 = "select * from [UFDATA].[dbo].[CHECK_VIEW]";
                // 创建SqlCommand对象
                using (SqlCommand cmd = new SqlCommand(sql_1, con))
                {
                    // 创建SqlDataAdapter对象，并将查询语句和连接对象并联
                    using (SqlDataAdapter da = new SqlDataAdapter(cmd))
                    {
                        // 创建DataTable对象，用于存储数据结果
                        DataTable ds = new DataTable();
                        // 填充数据集
                        da.Fill(ds);
                        // 把储存的数据结果绑定到dataGridView表格中
                        dataGridView1.DataSource = ds;
                    }
                }
                // 查询sql2，用于填充textBox1
                //string sql_2 = "select 存货编码 from [UFDATA].[dbo].[CHECK_VIEW] where 存货名称='EMP15-DC8-2A(B)'";
                //string sql_2 = "select * from [UFDATA].[dbo].[CHECK_VIEW] where 存货名称='EMP15-DC8-2A(B)'";
                //// 创建SqlCommand对象
                //using (SqlCommand cmd2 = new SqlCommand(sql_2, con))
                //{
                //    // 执行查询并获取结果
                //    object result = cmd2.ExecuteScalar();
                //    // 检查结果是否为null
                //    if (result != null)
                //    {
                //        // 将查询结果设置到textBox1
                //        textBox1.Text = result.ToString();
                //    }
                //    else
                //    {
                //        // 如果没有结果，可以设置为提示信息或保持为空
                //        textBox1.Text = "未找到数据";
                //    }
                //}
                string sql_2 = "select * from [UFDATA].[dbo].[CHECK_VIEW] where 存货名称='EMP15-DC8-2A(B)'";
                using (SqlCommand cmd2 = new SqlCommand(sql_2, con))
                {
                    using (SqlDataReader reader = cmd2.ExecuteReader())
                    {
                        if (reader.Read())
                        {
                            StringBuilder sb = new StringBuilder();
                            for (int i = 0; i < reader.FieldCount; i++)
                            {
                                sb.Append(reader[i].ToString());
                                if (i < reader.FieldCount - 1)
                                    sb.Append(", ");
                            }
                            textBox1.Text = sb.ToString();
                        }
                        else
                        {
                            textBox1.Text = "未找到数据";
                        }
                    }

                    // 关闭数据库
                    con.Close();
                }
            }
        }
        private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {

        }

        private void textBox1_TextChanged(object sender, EventArgs e)
        {

        }

        private void monthCalendar1_DateChanged(object sender, DateRangeEventArgs e)
        {

        }

        private void textBox2_TextChanged(object sender, EventArgs e)
        {

        }

        


        //private void btnSearch_Click(object sender, EventArgs e)
        //{
        //    // 从textBox2获取用户输入的存货名称
        //    string goodsName = textBox2.Text;

        //    // 连接数据库
        //    string conStr = "server=PC-20190827TENX;user id=sa;password=Qv958823;database=UFDATA";
        //    using (SqlConnection con = new SqlConnection(conStr))
        //    {
        //        // 打开数据库
        //        con.Open();

        //        // 构建动态SQL查询语句，使用参数化查询
        //        string sql_2 = "select * from [UFDATA].[dbo].[CHECK_VIEW] where 存货名称=@goodsName";

        //        // 创建SqlCommand对象，并添加参数
        //        using (SqlCommand cmd2 = new SqlCommand(sql_2, con))
        //        {
        //            // 添加参数并赋予值
        //            cmd2.Parameters.AddWithValue("@goodsName", goodsName);

        //            using (SqlDataReader reader = cmd2.ExecuteReader())
        //            {
        //                if (reader.Read())
        //                {
        //                    StringBuilder sb = new StringBuilder();
        //                    for (int i = 0; i < reader.FieldCount; i++)
        //                    {
        //                        sb.Append(reader[i].ToString());
        //                        if (i < reader.FieldCount - 1)
        //                            sb.Append(", ");
        //                    }
        //                    textBox1.Text = sb.ToString();
        //                }
        //                else
        //                {
        //                    textBox1.Text = "未找到数据";
        //                }
        //            }
        //        }

        //        // 关闭数据库
        //        con.Close();
        //    }
        //}
        private void btnSearch_Click(object sender, EventArgs e)
        {
            // 从textBox2获取用户输入的存货名称
            string goodsName = textBox2.Text;

            // 连接数据库
            string conStr = "server=PC-20190827TENX;user id=sa;password=Qv958823;database=UFDATA";
            using (SqlConnection con = new SqlConnection(conStr))
            {
                // 打开数据库
                con.Open();

                // 构建动态SQL查询语句，使用参数化查询来防止SQL注入
                string sql_2 = "SELECT * FROM [UFDATA].[dbo].[CHECK_VIEW] WHERE 存货名称 = @goodsName";

                // 创建SqlCommand对象，并添加参数
                using (SqlCommand cmd2 = new SqlCommand(sql_2, con))
                {
                    // 添加参数并赋予值
                    cmd2.Parameters.AddWithValue("@goodsName", goodsName);

                    // 创建SqlDataAdapter对象，并将查询语句和连接对象并联
                    using (SqlDataAdapter da = new SqlDataAdapter(cmd2))
                    {
                        // 创建DataTable对象，用于存储数据结果
                        DataTable ds = new DataTable();
                        // 填充数据集
                        da.Fill(ds);

                        // 清空dataGridView2的数据
                        dataGridView2.DataSource = null;

                        // 把储存的数据结果绑定到dataGridView2表格中
                        dataGridView2.DataSource = ds;
                    }
                }

                // 关闭数据库
                con.Close();
            }
        }

        private void Form1_Load(object sender, EventArgs e)
        {

        }

        private void btnCalendarSearch_Click(object sender, EventArgs e)
        {
            string checkTime = monthCalendar1.SelectionStart.ToString("yyyy-MM-dd");
            string conStr = "server=PC-20190827TENX;user id=sa;password=Qv958823;database=UFDATA";
            using (SqlConnection con = new SqlConnection(conStr))
            {
                con.Open();
                string sql_2 = "SELECT * FROM [UFDATA].[dbo].[CHECK_VIEW] WHERE 检验日期 = @checktime";
                using (SqlCommand cmd2 = new SqlCommand(sql_2, con))
                {
                    cmd2.Parameters.AddWithValue("@checktime", checkTime);
                    using (SqlDataAdapter da = new SqlDataAdapter(cmd2))
                    {
                        DataTable ds = new DataTable();
                        da.Fill(ds);
                        dataGridView2.DataSource = null;
                        dataGridView2.DataSource = ds;
                    }
                }
                con.Close();
            }
        }

        private void btnConfirm_Click(object sender, EventArgs e)
        {
            // 清空dataGridView2的数据
            dataGridView2.DataSource = null;

            // 创建一个DataTable来存储选中的数据
            DataTable selectedData = new DataTable();

            // 根据dataGridView1的实际列名来设置
            selectedData.Columns.Add("Column1", typeof(string)); // 替换为实际的列名和类型

            // 遍历dataGridView1中所有选中的行
            foreach (DataGridViewRow row in dataGridView1.Rows)
            {
                if (row.Selected) // 检查行是否被选中
                {
                    // 将选中行的数据添加到selectedData中
                    DataRow newRow = selectedData.NewRow();

                    // 跳过复选框列
                    if (row.Cells[0].OwningColumn is DataGridViewCheckBoxColumn)
                    {
                        // 遍历除了复选框列之外的所有列
                        for (int i = 1; i < row.Cells.Count; i++) // 从1开始，跳过复选框列
                        {
                            // 使用列名来赋值
                            string columnName = row.Cells[i].OwningColumn.Name;
                            newRow[i] = row.Cells[i].Value;
                        }
                    }

                    selectedData.Rows.Add(newRow);
                }
            }

            // 将selectedData绑定到dataGridView2
            dataGridView2.DataSource = selectedData;
        }


    }
}